﻿///////////////////////////////////////////////////////////////
// This is generated code. If you modify this code, be aware
// of the fact that when you re-generate the code, your changes
// are lost. If you want to keep your changes, make this file read-only
// when you have finished your changes, however it is recommended that
// you inherit from this class to extend the functionality of this generated
// class or you modify / extend the templates used to generate this code.
//////////////////////////////////////////////////////////////
// Code is generated using LLBLGen Pro version: 1.0.2005.1
// Code is generated on: October 21, 2008 12:02:20 AM
// Code is generated using templates: C# template set for SqlServer (1.0.2005.1)
// Templates vendor: Solutions Design.
// Templates version: 1.0.2005.1.111705
//////////////////////////////////////////////////////////////
using System;
using System.ComponentModel;
using System.Data;
using System.Collections;
using System.Runtime.Serialization;

using Ultimate.DAL.HelperClasses;
using Ultimate.DAL.DaoClasses;
using Ultimate.DAL.EntityClasses;
using Ultimate.DAL.FactoryClasses;

using SD.LLBLGen.Pro.ORMSupportClasses;

namespace Ultimate.DAL.TypedListClasses
{
	
	// __LLBLGENPRO_USER_CODE_REGION_START AdditionalNamespaces
	// __LLBLGENPRO_USER_CODE_REGION_END

	/// <summary>
	/// Typed datatable for the list 'TeamPlayerUser'.<br/><br/>
	/// </summary>
	/// <remarks>
	/// It embeds a fill method which accepts a filter.
	/// The code doesn't support any changing of data. Users who do that are on their own.
	/// It also doesn't support any event throwing. This list should be used as a base for readonly databinding
	/// or dataview construction.
	/// </remarks>
#if !CF	
	[Serializable, System.ComponentModel.DesignerCategory("Code")]
	[ToolboxItem(true)]
	[DesignTimeVisible(true)]
#endif	
	public partial class TeamPlayerUserTypedList : TypedListBase, IEnumerable, ITypedListLgp
		// __LLBLGENPRO_USER_CODE_REGION_START AdditionalInterfacesList
		// __LLBLGENPRO_USER_CODE_REGION_END	
	{
		#region Class Member Declarations
		private DataColumn _columnUserName;
		private DataColumn _columnPlayerID;
		private DataColumn _columnUserID;
		private DataColumn _columnEmail;
		private DataColumn _columnAddress;
		private DataColumn _columnCity;
		private DataColumn _columnProvince;
		private DataColumn _columnPostalCode;
		private DataColumn _columnPhoneNumber;
		private DataColumn _columnSkillLevel;
		private DataColumn _columnAdjustedSkillLevel;
		private DataColumn _columnMale;
		private DataColumn _columnBirthdate;
		private DataColumn _columnRoleID;
		private DataColumn _columnWaiverSigned;
		private DataColumn _columnFriendsList;
		private DataColumn _columnTeamID;
		private DataColumn _columnLeagueID;
		private DataColumn _columnTeamName;
		private DataColumn _columnPaid;
		private DataColumn _columnPaidDate;
		private DataColumn _columnAmountPaid;
		private DataColumn _columnClosed;
		private DataColumn _columnFirstName;
		private DataColumn _columnLastName;
		private DataColumn _columnCsUserID;
		private DataColumn _columnGrouping;
		
		// __LLBLGENPRO_USER_CODE_REGION_START AdditionalMembers
		// __LLBLGENPRO_USER_CODE_REGION_END
		private static Hashtable	_customProperties;
		private static Hashtable	_fieldsCustomProperties;
		#endregion

		#region Class Constants
		/// <summary>The amount of fields in the resultset.</summary>
		private const int AmountOfFields = 27;
		#endregion


		/// <summary>Static CTor for setting up custom property hashtables. Is executed before the first instance of this
		/// class or derived classes is constructed. </summary>
		static TeamPlayerUserTypedList()
		{
			SetupCustomPropertyHashtables();
		}
		
		/// <summary>CTor</summary>
		public TeamPlayerUserTypedList():base("TeamPlayerUser")
		{
			InitClass(false);
		}
		
		
		/// <summary>CTor</summary>
		/// <param name="obeyWeakRelations">The flag to signal the collection what kind of join statements to generate in the
		/// query statement. Weak relationships are relationships which are optional, for example a
		/// customer with no orders is possible, because the relationship between customer and order is based on a field in order.
		/// When this property is set to true (default: false), weak relationships will result in LEFT JOIN statements. When
		/// set to false (which is the default), INNER JOIN statements are used.
		/// </param>
		public TeamPlayerUserTypedList(bool obeyWeakRelations):base("TeamPlayerUser")
		{
			InitClass(obeyWeakRelations);
		}
		
#if !CF	
		/// <summary>Protected constructor for deserialization.</summary>
		/// <param name="info"></param>
		/// <param name="context"></param>
		protected TeamPlayerUserTypedList(SerializationInfo info, StreamingContext context):base(info, context)
		{
			InitMembers();
		}
#endif		
		
		/// <summary>Fills itself with data. it builds a dynamic query and loads itself with that query. 
		/// Will use no sort filter, no select filter, will allow duplicate rows and will not limit the amount of rows returned</summary>
		/// <returns>true if fill succeeded, false otherwise</returns>
		public bool Fill()
		{
			return Fill(0, null, true, null, null, null, 0, 0);
		}


		/// <summary>Fills itself with data. it builds a dynamic query and loads itself with that query. 
		/// Will not use a filter, will allow duplicate rows.</summary>
		/// <param name="maxNumberOfItemsToReturn">The maximum amount of rows to return. specifying 0 means all rows are returned</param>
		/// <param name="sortClauses">The order by specifications for the sorting of the resultset. When null is specified, no sorting is applied.</param>
		/// <returns>true if fill succeeded, false otherwise</returns>
		public bool Fill(long maxNumberOfItemsToReturn, ISortExpression sortClauses)
		{
			return Fill(maxNumberOfItemsToReturn, sortClauses, true, null, null, null, 0, 0);
		}


		/// <summary>Fills itself with data. it builds a dynamic query and loads itself with that query. 
		/// Will not use a filter.</summary>
		/// <param name="maxNumberOfItemsToReturn">The maximum amount of rows to return. specifying 0 means all rows are returned</param>
		/// <param name="sortClauses">The order by specifications for the sorting of the resultset. When null is specified, no sorting is applied.</param>
		/// <param name="allowDuplicates">Flag to allow duplicate rows (true) or not (false)</param>
		/// <returns>true if fill succeeded, false otherwise</returns>
		public bool Fill(long maxNumberOfItemsToReturn, ISortExpression sortClauses, bool allowDuplicates)
		{
			return Fill(maxNumberOfItemsToReturn, sortClauses, allowDuplicates, null, null, null, 0, 0);
		}


		/// <summary>Fills itself with data. it builds a dynamic query and loads itself with that query, using the specified filter</summary>
		/// <param name="maxNumberOfItemsToReturn">The maximum amount of rows to return. specifying 0 means all rows are returned</param>
		/// <param name="sortClauses">The order by specifications for the sorting of the resultset. When null is specified, no sorting is applied.</param>
		/// <param name="allowDuplicates">Flag to allow duplicate rows (true) or not (false)</param>
		/// <param name="selectFilter">Predicate which is used to filter the rows to insert in this Typed List instance</param>
		/// <returns>true if fill succeeded, false otherwise</returns>
		public virtual bool Fill(long maxNumberOfItemsToReturn, ISortExpression sortClauses, bool allowDuplicates, IPredicate selectFilter)
		{
			return Fill(maxNumberOfItemsToReturn, sortClauses, allowDuplicates, selectFilter, null, null, 0, 0);
		}


		/// <summary>Fills itself with data. it builds a dynamic query and loads itself with that query, using the specified filter</summary>
		/// <param name="maxNumberOfItemsToReturn">The maximum amount of rows to return. specifying 0 means all rows are returned</param>
		/// <param name="sortClauses">The order by specifications for the sorting of the resultset. When null is specified, no sorting is applied.</param>
		/// <param name="allowDuplicates">Flag to allow duplicate rows (true) or not (false)</param>
		/// <param name="selectFilter">Predicate which is used to filter the rows to insert in this Typed List instance</param>
		/// <param name="transactionToUse">The transaction object to use. Can be null. If specified, the connection object of the transaction is
		/// used to fill the TypedView, which avoids deadlocks on SqlServer.</param>
		/// <returns>true if fill succeeded, false otherwise</returns>
		public bool Fill(long maxNumberOfItemsToReturn, ISortExpression sortClauses, bool allowDuplicates, IPredicate selectFilter, ITransaction transactionToUse)
		{
			return Fill(maxNumberOfItemsToReturn, sortClauses, allowDuplicates, selectFilter, transactionToUse, null, 0, 0);
		}


		/// <summary>Fills itself with data. it builds a dynamic query and loads itself with that query, using the specified filter</summary>
		/// <param name="maxNumberOfItemsToReturn">The maximum amount of rows to return. specifying 0 means all rows are returned</param>
		/// <param name="sortClauses">The order by specifications for the sorting of the resultset. When null is specified, no sorting is applied.</param>
		/// <param name="allowDuplicates">Flag to allow duplicate rows (true) or not (false)</param>
		/// <param name="selectFilter">Predicate which is used to filter the rows to insert in this Typed List instance</param>
		/// <param name="transactionToUse">The transaction object to use. Can be null. If specified, the connection object of the transaction is
		/// used to fill the TypedView, which avoids deadlocks on SqlServer.</param>
		/// <param name="groupByClause">GroupByCollection with fields to group by on.</param>
		/// <returns>true if fill succeeded, false otherwise</returns>
		public bool Fill(long maxNumberOfItemsToReturn, ISortExpression sortClauses, bool allowDuplicates, IPredicate selectFilter, ITransaction transactionToUse, 
			IGroupByCollection groupByClause)
		{
			return Fill(maxNumberOfItemsToReturn, sortClauses, allowDuplicates, selectFilter, transactionToUse, groupByClause, 0, 0);
		}


		/// <summary>Fills itself with data. it builds a dynamic query and loads itself with that query, using the specified filter</summary>
		/// <param name="maxNumberOfItemsToReturn">The maximum amount of rows to return. specifying 0 means all rows are returned</param>
		/// <param name="sortClauses">The order by specifications for the sorting of the resultset. When null is specified, no sorting is applied.</param>
		/// <param name="allowDuplicates">Flag to allow duplicate rows (true) or not (false)</param>
		/// <param name="selectFilter">Predicate which is used to filter the rows to insert in this Typed List instance</param>
		/// <param name="transactionToUse">The transaction object to use. Can be null. If specified, the connection object of the transaction is
		/// used to fill the TypedView, which avoids deadlocks on SqlServer.</param>
		/// <param name="groupByClause">GroupByCollection with fields to group by on.</param>
		/// <param name="pageNumber">The page number to retrieve.</param>
		/// <param name="pageSize">The page size of the page to retrieve.</param>
		/// <returns>true if fill succeeded, false otherwise</returns>
		public virtual bool Fill(long maxNumberOfItemsToReturn, ISortExpression sortClauses, bool allowDuplicates, IPredicate selectFilter, ITransaction transactionToUse, 
			IGroupByCollection groupByClause, int pageNumber, int pageSize)
		{
			IEntityFields fieldsInResultset = BuildResultset();
			IRelationCollection relations = BuildRelationSet();

			TypedListDAO dao = DAOFactory.CreateTypedListDAO();
			return dao.GetMultiAsDataTable(fieldsInResultset, this, maxNumberOfItemsToReturn, sortClauses, selectFilter, relations, allowDuplicates, groupByClause, transactionToUse, pageNumber, pageSize);
		}


		/// <summary>Gets the amount of rows in the database for this typed list, not skipping duplicates</summary>
		/// <returns>the number of rows in the set defined by the passed in query elements</returns>
		public int GetDbCount()
		{
			return GetDbCount(true, null, null);
		}
		
		
		/// <summary>Gets the amount of rows in the database for this typed list.</summary>
		/// <param name="allowDuplicates">Flag to allow duplicate rows (true) or not (false)</param>
		/// <returns>the number of rows in the set defined by the passed in query elements</returns>
		public int GetDbCount(bool allowDuplicates)
		{
			return GetDbCount(allowDuplicates, null, null);
		}


		/// <summary>Gets the amount of rows in the database for this typed list.</summary>
		/// <param name="allowDuplicates">Flag to allow duplicate rows (true) or not (false)</param>
		/// <param name="filter">The filter to apply for the count retrieval</param>
		/// <returns>the number of rows in the set defined by the passed in query elements</returns>
		public int GetDbCount(bool allowDuplicates, IPredicateExpression filter)
		{
			return GetDbCount(allowDuplicates, filter, null);
		}

		
		/// <summary>Gets the amount of rows in the database for this typed list.</summary>
		/// <param name="allowDuplicates">Flag to allow duplicate rows (true) or not (false)</param>
		/// <param name="filter">The filter to apply for the count retrieval</param>
		/// <param name="relations">The relations for the filter to apply</param>
		/// <returns>the number of rows in the set defined by the passed in query elements</returns>
		public int GetDbCount(bool allowDuplicates, IPredicateExpression filter, IRelationCollection relations)
		{
			return GetDbCount(allowDuplicates, filter, relations, null);
		}


		/// <summary>Gets the amount of rows in the database for this typed list.</summary>
		/// <param name="allowDuplicates">Flag to allow duplicate rows (true) or not (false)</param>
		/// <param name="filter">The filter to apply for the count retrieval</param>
		/// <param name="relations">The relations for the filter to apply</param>
		/// <param name="groupByClause">group by clause to embed in the query</param>
		/// <returns>the number of rows in the set defined by the passed in query elements</returns>
		public virtual int GetDbCount(bool allowDuplicates, IPredicateExpression filter, IRelationCollection relations, GroupByCollection groupByClause)
		{
			IEntityFields fieldsInResultset = BuildResultset();
			IRelationCollection relationsToUse = BuildRelationSet();
			if(relations!=null)
			{
				for (int i = 0; i < relations.Count; i++)
				{
					relationsToUse.Add(relations[i]);
				}
			}

			TypedListDAO dao = DAOFactory.CreateTypedListDAO();
			return dao.GetDbCount(fieldsInResultset, null, filter, relationsToUse, groupByClause, allowDuplicates);
		}


		/// <summary>Gets the enumerator for this class.</summary>
		/// <returns>Enumerator for this class.</returns>
		public IEnumerator GetEnumerator()
		{
			return this.Rows.GetEnumerator();
		}


		/// <summary>Builds the relation set for this typed list.</summary>
		/// <returns>ready to use relation set</returns>
		public virtual IRelationCollection BuildRelationSet()
		{
			IRelationCollection toReturn = new RelationCollection();
			toReturn.ObeyWeakRelations = base.ObeyWeakRelations;
			toReturn.Add(TeamPlayerEntity.Relations.PlayerEntityUsingUserID, "", "", JoinHint.None);
			toReturn.Add(PlayerEntity.Relations.Aspnet_UsersEntityUsingUserID, "", "", JoinHint.None);
			toReturn.Add(TeamPlayerEntity.Relations.TeamEntityUsingTeamID, "", "", JoinHint.None);
			toReturn.Add(Aspnet_UsersEntity.Relations.Cs_UsersEntityUsingMembershipID, "", "", JoinHint.None);
			
			// __LLBLGENPRO_USER_CODE_REGION_START AdditionalRelations
			// __LLBLGENPRO_USER_CODE_REGION_END
			return toReturn;
		}


		/// <summary>Builds the resultset fields.</summary>
		/// <returns>ready to use resultset</returns>
		public virtual IEntityFields BuildResultset()
		{
			ResultsetFields toReturn = new ResultsetFields(AmountOfFields);
			toReturn.DefineField(Aspnet_UsersFieldIndex.UserName, 0, "UserName", "", AggregateFunction.None);
			toReturn.DefineField(PlayerFieldIndex.PlayerID, 1, "PlayerID", "", AggregateFunction.None);
			toReturn.DefineField(PlayerFieldIndex.UserID, 2, "UserID", "", AggregateFunction.None);
			toReturn.DefineField(PlayerFieldIndex.Email, 3, "Email", "", AggregateFunction.None);
			toReturn.DefineField(PlayerFieldIndex.Address, 4, "Address", "", AggregateFunction.None);
			toReturn.DefineField(PlayerFieldIndex.City, 5, "City", "", AggregateFunction.None);
			toReturn.DefineField(PlayerFieldIndex.Province, 6, "Province", "", AggregateFunction.None);
			toReturn.DefineField(PlayerFieldIndex.PostalCode, 7, "PostalCode", "", AggregateFunction.None);
			toReturn.DefineField(PlayerFieldIndex.PhoneNumber, 8, "PhoneNumber", "", AggregateFunction.None);
			toReturn.DefineField(PlayerFieldIndex.SkillLevel, 9, "SkillLevel", "", AggregateFunction.None);
			toReturn.DefineField(PlayerFieldIndex.AdjustedSkillLevel, 10, "AdjustedSkillLevel", "", AggregateFunction.None);
			toReturn.DefineField(PlayerFieldIndex.Male, 11, "Male", "", AggregateFunction.None);
			toReturn.DefineField(PlayerFieldIndex.Birthdate, 12, "Birthdate", "", AggregateFunction.None);
			toReturn.DefineField(TeamPlayerFieldIndex.RoleID, 13, "RoleID", "", AggregateFunction.None);
			toReturn.DefineField(TeamPlayerFieldIndex.WaiverSigned, 14, "WaiverSigned", "", AggregateFunction.None);
			toReturn.DefineField(TeamPlayerFieldIndex.FriendsList, 15, "FriendsList", "", AggregateFunction.None);
			toReturn.DefineField(TeamFieldIndex.TeamID, 16, "TeamID", "", AggregateFunction.None);
			toReturn.DefineField(TeamFieldIndex.LeagueID, 17, "LeagueID", "", AggregateFunction.None);
			toReturn.DefineField(TeamFieldIndex.TeamName, 18, "TeamName", "", AggregateFunction.None);
			toReturn.DefineField(TeamFieldIndex.Paid, 19, "Paid", "", AggregateFunction.None);
			toReturn.DefineField(TeamFieldIndex.PaidDate, 20, "PaidDate", "", AggregateFunction.None);
			toReturn.DefineField(TeamFieldIndex.AmountPaid, 21, "AmountPaid", "", AggregateFunction.None);
			toReturn.DefineField(TeamFieldIndex.Closed, 22, "Closed", "", AggregateFunction.None);
			toReturn.DefineField(PlayerFieldIndex.FirstName, 23, "FirstName", "", AggregateFunction.None);
			toReturn.DefineField(PlayerFieldIndex.LastName, 24, "LastName", "", AggregateFunction.None);
			toReturn.DefineField(Cs_UsersFieldIndex.UserID, 25, "CsUserID", "", AggregateFunction.None);
			toReturn.DefineField(TeamFieldIndex.Grouping, 26, "Grouping", "", AggregateFunction.None);
			
			// __LLBLGENPRO_USER_CODE_REGION_START AdditionalFields
			// be sure to call toReturn.Expand(number of new fields) first. 
			// __LLBLGENPRO_USER_CODE_REGION_END
			return toReturn;
		}


		/// <summary>Creates a new typed row during the build of the datatable during a Fill session by a dataadapter.</summary>
		/// <param name="rowBuilder">supplied row builder to pass to the typed row</param>
		/// <returns>the new typed datarow</returns>
		protected override DataRow NewRowFromBuilder(DataRowBuilder rowBuilder) 
		{
			return new TeamPlayerUserRow(rowBuilder);
		}


		/// <summary>Initializes the hashtables for the typed list type and typed list field custom properties. </summary>
		private static void SetupCustomPropertyHashtables()
		{
			_customProperties = new Hashtable();
			_fieldsCustomProperties = new Hashtable();

			Hashtable fieldHashtable = null;

			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("UserName", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("PlayerID", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("UserID", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("Email", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("Address", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("City", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("Province", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("PostalCode", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("PhoneNumber", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("SkillLevel", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("AdjustedSkillLevel", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("Male", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("Birthdate", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("RoleID", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("WaiverSigned", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("FriendsList", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("TeamID", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("LeagueID", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("TeamName", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("Paid", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("PaidDate", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("AmountPaid", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("Closed", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("FirstName", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("LastName", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("CsUserID", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("Grouping", fieldHashtable);			
		}


		/// <summary>Initialize the datastructures.</summary>
		/// <param name="obeyWeakRelations">flag for the internal used relations object</param>
		private void InitClass(bool obeyWeakRelations)
		{
			
			_columnUserName = new DataColumn("UserName", typeof(System.String), null, MappingType.Element);
			_columnUserName.ReadOnly = true;
			_columnUserName.Caption = @"UserName";
			this.Columns.Add(_columnUserName);

			_columnPlayerID = new DataColumn("PlayerID", typeof(System.Int32), null, MappingType.Element);
			_columnPlayerID.ReadOnly = true;
			_columnPlayerID.Caption = @"PlayerID";
			this.Columns.Add(_columnPlayerID);

			_columnUserID = new DataColumn("UserID", typeof(System.Guid), null, MappingType.Element);
			_columnUserID.ReadOnly = true;
			_columnUserID.Caption = @"UserID";
			this.Columns.Add(_columnUserID);

			_columnEmail = new DataColumn("Email", typeof(System.String), null, MappingType.Element);
			_columnEmail.ReadOnly = true;
			_columnEmail.Caption = @"Email";
			this.Columns.Add(_columnEmail);

			_columnAddress = new DataColumn("Address", typeof(System.String), null, MappingType.Element);
			_columnAddress.ReadOnly = true;
			_columnAddress.Caption = @"Address";
			this.Columns.Add(_columnAddress);

			_columnCity = new DataColumn("City", typeof(System.String), null, MappingType.Element);
			_columnCity.ReadOnly = true;
			_columnCity.Caption = @"City";
			this.Columns.Add(_columnCity);

			_columnProvince = new DataColumn("Province", typeof(System.String), null, MappingType.Element);
			_columnProvince.ReadOnly = true;
			_columnProvince.Caption = @"Province";
			this.Columns.Add(_columnProvince);

			_columnPostalCode = new DataColumn("PostalCode", typeof(System.String), null, MappingType.Element);
			_columnPostalCode.ReadOnly = true;
			_columnPostalCode.Caption = @"PostalCode";
			this.Columns.Add(_columnPostalCode);

			_columnPhoneNumber = new DataColumn("PhoneNumber", typeof(System.String), null, MappingType.Element);
			_columnPhoneNumber.ReadOnly = true;
			_columnPhoneNumber.Caption = @"PhoneNumber";
			this.Columns.Add(_columnPhoneNumber);

			_columnSkillLevel = new DataColumn("SkillLevel", typeof(System.Int32), null, MappingType.Element);
			_columnSkillLevel.ReadOnly = true;
			_columnSkillLevel.Caption = @"SkillLevel";
			this.Columns.Add(_columnSkillLevel);

			_columnAdjustedSkillLevel = new DataColumn("AdjustedSkillLevel", typeof(System.Int32), null, MappingType.Element);
			_columnAdjustedSkillLevel.ReadOnly = true;
			_columnAdjustedSkillLevel.Caption = @"AdjustedSkillLevel";
			this.Columns.Add(_columnAdjustedSkillLevel);

			_columnMale = new DataColumn("Male", typeof(System.Boolean), null, MappingType.Element);
			_columnMale.ReadOnly = true;
			_columnMale.Caption = @"Male";
			this.Columns.Add(_columnMale);

			_columnBirthdate = new DataColumn("Birthdate", typeof(System.DateTime), null, MappingType.Element);
			_columnBirthdate.ReadOnly = true;
			_columnBirthdate.Caption = @"Birthdate";
			this.Columns.Add(_columnBirthdate);

			_columnRoleID = new DataColumn("RoleID", typeof(System.Int32), null, MappingType.Element);
			_columnRoleID.ReadOnly = true;
			_columnRoleID.Caption = @"RoleID";
			this.Columns.Add(_columnRoleID);

			_columnWaiverSigned = new DataColumn("WaiverSigned", typeof(System.Boolean), null, MappingType.Element);
			_columnWaiverSigned.ReadOnly = true;
			_columnWaiverSigned.Caption = @"WaiverSigned";
			this.Columns.Add(_columnWaiverSigned);

			_columnFriendsList = new DataColumn("FriendsList", typeof(System.String), null, MappingType.Element);
			_columnFriendsList.ReadOnly = true;
			_columnFriendsList.Caption = @"FriendsList";
			this.Columns.Add(_columnFriendsList);

			_columnTeamID = new DataColumn("TeamID", typeof(System.Int32), null, MappingType.Element);
			_columnTeamID.ReadOnly = true;
			_columnTeamID.Caption = @"TeamID";
			this.Columns.Add(_columnTeamID);

			_columnLeagueID = new DataColumn("LeagueID", typeof(System.Int32), null, MappingType.Element);
			_columnLeagueID.ReadOnly = true;
			_columnLeagueID.Caption = @"LeagueID";
			this.Columns.Add(_columnLeagueID);

			_columnTeamName = new DataColumn("TeamName", typeof(System.String), null, MappingType.Element);
			_columnTeamName.ReadOnly = true;
			_columnTeamName.Caption = @"TeamName";
			this.Columns.Add(_columnTeamName);

			_columnPaid = new DataColumn("Paid", typeof(System.Boolean), null, MappingType.Element);
			_columnPaid.ReadOnly = true;
			_columnPaid.Caption = @"Paid";
			this.Columns.Add(_columnPaid);

			_columnPaidDate = new DataColumn("PaidDate", typeof(System.DateTime), null, MappingType.Element);
			_columnPaidDate.ReadOnly = true;
			_columnPaidDate.Caption = @"PaidDate";
			this.Columns.Add(_columnPaidDate);

			_columnAmountPaid = new DataColumn("AmountPaid", typeof(System.Decimal), null, MappingType.Element);
			_columnAmountPaid.ReadOnly = true;
			_columnAmountPaid.Caption = @"AmountPaid";
			this.Columns.Add(_columnAmountPaid);

			_columnClosed = new DataColumn("Closed", typeof(System.Boolean), null, MappingType.Element);
			_columnClosed.ReadOnly = true;
			_columnClosed.Caption = @"Closed";
			this.Columns.Add(_columnClosed);

			_columnFirstName = new DataColumn("FirstName", typeof(System.String), null, MappingType.Element);
			_columnFirstName.ReadOnly = true;
			_columnFirstName.Caption = @"FirstName";
			this.Columns.Add(_columnFirstName);

			_columnLastName = new DataColumn("LastName", typeof(System.String), null, MappingType.Element);
			_columnLastName.ReadOnly = true;
			_columnLastName.Caption = @"LastName";
			this.Columns.Add(_columnLastName);

			_columnCsUserID = new DataColumn("CsUserID", typeof(System.Int32), null, MappingType.Element);
			_columnCsUserID.ReadOnly = true;
			_columnCsUserID.Caption = @"CsUserID";
			this.Columns.Add(_columnCsUserID);

			_columnGrouping = new DataColumn("Grouping", typeof(System.String), null, MappingType.Element);
			_columnGrouping.ReadOnly = true;
			_columnGrouping.Caption = @"Grouping";
			this.Columns.Add(_columnGrouping);
			
			// __LLBLGENPRO_USER_CODE_REGION_START InitClass
			// __LLBLGENPRO_USER_CODE_REGION_END
			base.ObeyWeakRelations = obeyWeakRelations;
		}


		/// <summary>Initializes the members, after a clone action.</summary>
		private void InitMembers()
		{
			_columnUserName = this.Columns["UserName"];
			_columnPlayerID = this.Columns["PlayerID"];
			_columnUserID = this.Columns["UserID"];
			_columnEmail = this.Columns["Email"];
			_columnAddress = this.Columns["Address"];
			_columnCity = this.Columns["City"];
			_columnProvince = this.Columns["Province"];
			_columnPostalCode = this.Columns["PostalCode"];
			_columnPhoneNumber = this.Columns["PhoneNumber"];
			_columnSkillLevel = this.Columns["SkillLevel"];
			_columnAdjustedSkillLevel = this.Columns["AdjustedSkillLevel"];
			_columnMale = this.Columns["Male"];
			_columnBirthdate = this.Columns["Birthdate"];
			_columnRoleID = this.Columns["RoleID"];
			_columnWaiverSigned = this.Columns["WaiverSigned"];
			_columnFriendsList = this.Columns["FriendsList"];
			_columnTeamID = this.Columns["TeamID"];
			_columnLeagueID = this.Columns["LeagueID"];
			_columnTeamName = this.Columns["TeamName"];
			_columnPaid = this.Columns["Paid"];
			_columnPaidDate = this.Columns["PaidDate"];
			_columnAmountPaid = this.Columns["AmountPaid"];
			_columnClosed = this.Columns["Closed"];
			_columnFirstName = this.Columns["FirstName"];
			_columnLastName = this.Columns["LastName"];
			_columnCsUserID = this.Columns["CsUserID"];
			_columnGrouping = this.Columns["Grouping"];
			
			// __LLBLGENPRO_USER_CODE_REGION_START InitMembers
			// __LLBLGENPRO_USER_CODE_REGION_END
		}


		/// <summary>Return the type of the typed datarow</summary>
		/// <returns>returns the requested type</returns>
		protected override Type GetRowType() 
		{
			return typeof(TeamPlayerUserRow);
		}


		/// <summary>Clones this instance.</summary>
		/// <returns>A clone of this instance</returns>
		public override DataTable Clone() 
		{
			TeamPlayerUserTypedList cloneToReturn = ((TeamPlayerUserTypedList)(base.Clone()));
			cloneToReturn.InitMembers();
			return cloneToReturn;
		}

#if !CF
		/// <summary>Creates a new instance of the DataTable class.</summary>
		/// <returns>a new instance of a datatable with this schema.</returns>
		protected override DataTable CreateInstance() 
		{
			return new TeamPlayerUserTypedList();
		}
#endif

		#region Class Property Declarations
		/// <summary>Returns the amount of rows in this typed list.</summary>
		[System.ComponentModel.Browsable(false)]
		public override int Count 
		{
			get 
			{
				return this.Rows.Count;
			}
		}
		
		/// <summary>The custom properties for this TypedList type.</summary>
		/// <remarks>The data returned from this property should be considered read-only: it is not thread safe to alter this data at runtime.</remarks>
		public static Hashtable CustomProperties
		{
			get { return _customProperties;}
		}

		/// <summary>The custom properties for the type of this TypedList instance.</summary>
		/// <remarks>The data returned from this property should be considered read-only: it is not thread safe to alter this data at runtime.</remarks>
		[System.ComponentModel.Browsable(false)]
		public virtual Hashtable CustomPropertiesOfType
		{
			get { return TeamPlayerUserTypedList.CustomProperties;}
		}

		/// <summary>The custom properties for the fields of this TypedList type. The returned Hashtable contains per fieldname a hashtable of name-value
		/// pairs. </summary>
		/// <remarks>The data returned from this property should be considered read-only: it is not thread safe to alter this data at runtime.</remarks>
		public static Hashtable FieldsCustomProperties
		{
			get { return _fieldsCustomProperties;}
		}

		/// <summary>The custom properties for the fields of the type of this TypedList instance. The returned Hashtable contains per fieldname a hashtable of name-value
		/// pairs. </summary>
		/// <remarks>The data returned from this property should be considered read-only: it is not thread safe to alter this data at runtime.</remarks>
		[System.ComponentModel.Browsable(false)]
		public virtual Hashtable FieldsCustomPropertiesOfType
		{
			get { return TeamPlayerUserTypedList.FieldsCustomProperties;}
		}

		/// <summary>Indexer of this strong typed list</summary>
		public TeamPlayerUserRow this[int index] 
		{
			get 
			{
				return ((TeamPlayerUserRow)(this.Rows[index]));
			}
		}

	
		/// <summary>Returns the column object belonging to the TypedList field UserName</summary>
		internal DataColumn UserNameColumn 
		{
			get { return _columnUserName; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field PlayerID</summary>
		internal DataColumn PlayerIDColumn 
		{
			get { return _columnPlayerID; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field UserID</summary>
		internal DataColumn UserIDColumn 
		{
			get { return _columnUserID; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field Email</summary>
		internal DataColumn EmailColumn 
		{
			get { return _columnEmail; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field Address</summary>
		internal DataColumn AddressColumn 
		{
			get { return _columnAddress; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field City</summary>
		internal DataColumn CityColumn 
		{
			get { return _columnCity; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field Province</summary>
		internal DataColumn ProvinceColumn 
		{
			get { return _columnProvince; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field PostalCode</summary>
		internal DataColumn PostalCodeColumn 
		{
			get { return _columnPostalCode; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field PhoneNumber</summary>
		internal DataColumn PhoneNumberColumn 
		{
			get { return _columnPhoneNumber; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field SkillLevel</summary>
		internal DataColumn SkillLevelColumn 
		{
			get { return _columnSkillLevel; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field AdjustedSkillLevel</summary>
		internal DataColumn AdjustedSkillLevelColumn 
		{
			get { return _columnAdjustedSkillLevel; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field Male</summary>
		internal DataColumn MaleColumn 
		{
			get { return _columnMale; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field Birthdate</summary>
		internal DataColumn BirthdateColumn 
		{
			get { return _columnBirthdate; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field RoleID</summary>
		internal DataColumn RoleIDColumn 
		{
			get { return _columnRoleID; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field WaiverSigned</summary>
		internal DataColumn WaiverSignedColumn 
		{
			get { return _columnWaiverSigned; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field FriendsList</summary>
		internal DataColumn FriendsListColumn 
		{
			get { return _columnFriendsList; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field TeamID</summary>
		internal DataColumn TeamIDColumn 
		{
			get { return _columnTeamID; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field LeagueID</summary>
		internal DataColumn LeagueIDColumn 
		{
			get { return _columnLeagueID; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field TeamName</summary>
		internal DataColumn TeamNameColumn 
		{
			get { return _columnTeamName; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field Paid</summary>
		internal DataColumn PaidColumn 
		{
			get { return _columnPaid; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field PaidDate</summary>
		internal DataColumn PaidDateColumn 
		{
			get { return _columnPaidDate; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field AmountPaid</summary>
		internal DataColumn AmountPaidColumn 
		{
			get { return _columnAmountPaid; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field Closed</summary>
		internal DataColumn ClosedColumn 
		{
			get { return _columnClosed; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field FirstName</summary>
		internal DataColumn FirstNameColumn 
		{
			get { return _columnFirstName; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field LastName</summary>
		internal DataColumn LastNameColumn 
		{
			get { return _columnLastName; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field CsUserID</summary>
		internal DataColumn CsUserIDColumn 
		{
			get { return _columnCsUserID; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field Grouping</summary>
		internal DataColumn GroupingColumn 
		{
			get { return _columnGrouping; }
		}
    
		
		// __LLBLGENPRO_USER_CODE_REGION_START AdditionalColumnProperties
		// __LLBLGENPRO_USER_CODE_REGION_END
 		#endregion
		
		#region Custom TypedList code
		
		// __LLBLGENPRO_USER_CODE_REGION_START CustomTypedListCode
		// __LLBLGENPRO_USER_CODE_REGION_END
		#endregion

		#region Included Code

		#endregion
	}


	/// <summary>Typed datarow for the typed datatable TeamPlayerUser</summary>
	public partial class TeamPlayerUserRow : DataRow
		// __LLBLGENPRO_USER_CODE_REGION_START AdditionalInterfacesRow
		// __LLBLGENPRO_USER_CODE_REGION_END	
	{
		#region Class Member Declarations
		private TeamPlayerUserTypedList	_parent;
		#endregion

		/// <summary>CTor</summary>
		/// <param name="rowBuilder">Row builder object to use when building this row</param>
		internal TeamPlayerUserRow(DataRowBuilder rowBuilder) : base(rowBuilder) 
		{
			_parent = ((TeamPlayerUserTypedList)(this.Table));
		}


		#region Class Property Declarations
	
		/// <summary>Gets / sets the value of the TypedList field UserName<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Aspnet_Users.UserName</remarks>
		public System.String UserName 
		{
			get 
			{
				if(IsUserNameNull())
				{
					// return default value for this type.
					return (System.String)TypeDefaultValue.GetDefaultValue(typeof(System.String));
				}
				else
				{
					return (System.String)this[_parent.UserNameColumn];
				}
			}
			set 
			{
				this[_parent.UserNameColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field UserName is NULL, false otherwise.</summary>
		public bool IsUserNameNull() 
		{
			return IsNull(_parent.UserNameColumn);
		}

		/// <summary>Sets the TypedList field UserName to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetUserNameNull() 
		{
			this[_parent.UserNameColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field PlayerID<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Player.PlayerID</remarks>
		public System.Int32 PlayerID 
		{
			get 
			{
				if(IsPlayerIDNull())
				{
					// return default value for this type.
					return (System.Int32)TypeDefaultValue.GetDefaultValue(typeof(System.Int32));
				}
				else
				{
					return (System.Int32)this[_parent.PlayerIDColumn];
				}
			}
			set 
			{
				this[_parent.PlayerIDColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field PlayerID is NULL, false otherwise.</summary>
		public bool IsPlayerIDNull() 
		{
			return IsNull(_parent.PlayerIDColumn);
		}

		/// <summary>Sets the TypedList field PlayerID to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetPlayerIDNull() 
		{
			this[_parent.PlayerIDColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field UserID<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Player.UserID</remarks>
		public System.Guid UserID 
		{
			get 
			{
				if(IsUserIDNull())
				{
					// return default value for this type.
					return (System.Guid)TypeDefaultValue.GetDefaultValue(typeof(System.Guid));
				}
				else
				{
					return (System.Guid)this[_parent.UserIDColumn];
				}
			}
			set 
			{
				this[_parent.UserIDColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field UserID is NULL, false otherwise.</summary>
		public bool IsUserIDNull() 
		{
			return IsNull(_parent.UserIDColumn);
		}

		/// <summary>Sets the TypedList field UserID to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetUserIDNull() 
		{
			this[_parent.UserIDColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field Email<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Player.Email</remarks>
		public System.String Email 
		{
			get 
			{
				if(IsEmailNull())
				{
					// return default value for this type.
					return (System.String)TypeDefaultValue.GetDefaultValue(typeof(System.String));
				}
				else
				{
					return (System.String)this[_parent.EmailColumn];
				}
			}
			set 
			{
				this[_parent.EmailColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field Email is NULL, false otherwise.</summary>
		public bool IsEmailNull() 
		{
			return IsNull(_parent.EmailColumn);
		}

		/// <summary>Sets the TypedList field Email to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetEmailNull() 
		{
			this[_parent.EmailColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field Address<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Player.Address</remarks>
		public System.String Address 
		{
			get 
			{
				if(IsAddressNull())
				{
					// return default value for this type.
					return (System.String)TypeDefaultValue.GetDefaultValue(typeof(System.String));
				}
				else
				{
					return (System.String)this[_parent.AddressColumn];
				}
			}
			set 
			{
				this[_parent.AddressColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field Address is NULL, false otherwise.</summary>
		public bool IsAddressNull() 
		{
			return IsNull(_parent.AddressColumn);
		}

		/// <summary>Sets the TypedList field Address to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetAddressNull() 
		{
			this[_parent.AddressColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field City<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Player.City</remarks>
		public System.String City 
		{
			get 
			{
				if(IsCityNull())
				{
					// return default value for this type.
					return (System.String)TypeDefaultValue.GetDefaultValue(typeof(System.String));
				}
				else
				{
					return (System.String)this[_parent.CityColumn];
				}
			}
			set 
			{
				this[_parent.CityColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field City is NULL, false otherwise.</summary>
		public bool IsCityNull() 
		{
			return IsNull(_parent.CityColumn);
		}

		/// <summary>Sets the TypedList field City to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetCityNull() 
		{
			this[_parent.CityColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field Province<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Player.Province</remarks>
		public System.String Province 
		{
			get 
			{
				if(IsProvinceNull())
				{
					// return default value for this type.
					return (System.String)TypeDefaultValue.GetDefaultValue(typeof(System.String));
				}
				else
				{
					return (System.String)this[_parent.ProvinceColumn];
				}
			}
			set 
			{
				this[_parent.ProvinceColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field Province is NULL, false otherwise.</summary>
		public bool IsProvinceNull() 
		{
			return IsNull(_parent.ProvinceColumn);
		}

		/// <summary>Sets the TypedList field Province to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetProvinceNull() 
		{
			this[_parent.ProvinceColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field PostalCode<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Player.PostalCode</remarks>
		public System.String PostalCode 
		{
			get 
			{
				if(IsPostalCodeNull())
				{
					// return default value for this type.
					return (System.String)TypeDefaultValue.GetDefaultValue(typeof(System.String));
				}
				else
				{
					return (System.String)this[_parent.PostalCodeColumn];
				}
			}
			set 
			{
				this[_parent.PostalCodeColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field PostalCode is NULL, false otherwise.</summary>
		public bool IsPostalCodeNull() 
		{
			return IsNull(_parent.PostalCodeColumn);
		}

		/// <summary>Sets the TypedList field PostalCode to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetPostalCodeNull() 
		{
			this[_parent.PostalCodeColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field PhoneNumber<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Player.PhoneNumber</remarks>
		public System.String PhoneNumber 
		{
			get 
			{
				if(IsPhoneNumberNull())
				{
					// return default value for this type.
					return (System.String)TypeDefaultValue.GetDefaultValue(typeof(System.String));
				}
				else
				{
					return (System.String)this[_parent.PhoneNumberColumn];
				}
			}
			set 
			{
				this[_parent.PhoneNumberColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field PhoneNumber is NULL, false otherwise.</summary>
		public bool IsPhoneNumberNull() 
		{
			return IsNull(_parent.PhoneNumberColumn);
		}

		/// <summary>Sets the TypedList field PhoneNumber to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetPhoneNumberNull() 
		{
			this[_parent.PhoneNumberColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field SkillLevel<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Player.SkillLevel</remarks>
		public System.Int32 SkillLevel 
		{
			get 
			{
				if(IsSkillLevelNull())
				{
					// return default value for this type.
					return (System.Int32)TypeDefaultValue.GetDefaultValue(typeof(System.Int32));
				}
				else
				{
					return (System.Int32)this[_parent.SkillLevelColumn];
				}
			}
			set 
			{
				this[_parent.SkillLevelColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field SkillLevel is NULL, false otherwise.</summary>
		public bool IsSkillLevelNull() 
		{
			return IsNull(_parent.SkillLevelColumn);
		}

		/// <summary>Sets the TypedList field SkillLevel to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetSkillLevelNull() 
		{
			this[_parent.SkillLevelColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field AdjustedSkillLevel<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Player.AdjustedSkillLevel</remarks>
		public System.Int32 AdjustedSkillLevel 
		{
			get 
			{
				if(IsAdjustedSkillLevelNull())
				{
					// return default value for this type.
					return (System.Int32)TypeDefaultValue.GetDefaultValue(typeof(System.Int32));
				}
				else
				{
					return (System.Int32)this[_parent.AdjustedSkillLevelColumn];
				}
			}
			set 
			{
				this[_parent.AdjustedSkillLevelColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field AdjustedSkillLevel is NULL, false otherwise.</summary>
		public bool IsAdjustedSkillLevelNull() 
		{
			return IsNull(_parent.AdjustedSkillLevelColumn);
		}

		/// <summary>Sets the TypedList field AdjustedSkillLevel to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetAdjustedSkillLevelNull() 
		{
			this[_parent.AdjustedSkillLevelColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field Male<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Player.Male</remarks>
		public System.Boolean Male 
		{
			get 
			{
				if(IsMaleNull())
				{
					// return default value for this type.
					return (System.Boolean)TypeDefaultValue.GetDefaultValue(typeof(System.Boolean));
				}
				else
				{
					return (System.Boolean)this[_parent.MaleColumn];
				}
			}
			set 
			{
				this[_parent.MaleColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field Male is NULL, false otherwise.</summary>
		public bool IsMaleNull() 
		{
			return IsNull(_parent.MaleColumn);
		}

		/// <summary>Sets the TypedList field Male to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetMaleNull() 
		{
			this[_parent.MaleColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field Birthdate<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Player.Birthdate</remarks>
		public System.DateTime Birthdate 
		{
			get 
			{
				if(IsBirthdateNull())
				{
					// return default value for this type.
					return (System.DateTime)TypeDefaultValue.GetDefaultValue(typeof(System.DateTime));
				}
				else
				{
					return (System.DateTime)this[_parent.BirthdateColumn];
				}
			}
			set 
			{
				this[_parent.BirthdateColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field Birthdate is NULL, false otherwise.</summary>
		public bool IsBirthdateNull() 
		{
			return IsNull(_parent.BirthdateColumn);
		}

		/// <summary>Sets the TypedList field Birthdate to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetBirthdateNull() 
		{
			this[_parent.BirthdateColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field RoleID<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: TeamPlayer.RoleID</remarks>
		public System.Int32 RoleID 
		{
			get 
			{
				if(IsRoleIDNull())
				{
					// return default value for this type.
					return (System.Int32)TypeDefaultValue.GetDefaultValue(typeof(System.Int32));
				}
				else
				{
					return (System.Int32)this[_parent.RoleIDColumn];
				}
			}
			set 
			{
				this[_parent.RoleIDColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field RoleID is NULL, false otherwise.</summary>
		public bool IsRoleIDNull() 
		{
			return IsNull(_parent.RoleIDColumn);
		}

		/// <summary>Sets the TypedList field RoleID to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetRoleIDNull() 
		{
			this[_parent.RoleIDColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field WaiverSigned<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: TeamPlayer.WaiverSigned</remarks>
		public System.Boolean WaiverSigned 
		{
			get 
			{
				if(IsWaiverSignedNull())
				{
					// return default value for this type.
					return (System.Boolean)TypeDefaultValue.GetDefaultValue(typeof(System.Boolean));
				}
				else
				{
					return (System.Boolean)this[_parent.WaiverSignedColumn];
				}
			}
			set 
			{
				this[_parent.WaiverSignedColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field WaiverSigned is NULL, false otherwise.</summary>
		public bool IsWaiverSignedNull() 
		{
			return IsNull(_parent.WaiverSignedColumn);
		}

		/// <summary>Sets the TypedList field WaiverSigned to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetWaiverSignedNull() 
		{
			this[_parent.WaiverSignedColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field FriendsList<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: TeamPlayer.FriendsList</remarks>
		public System.String FriendsList 
		{
			get 
			{
				if(IsFriendsListNull())
				{
					// return default value for this type.
					return (System.String)TypeDefaultValue.GetDefaultValue(typeof(System.String));
				}
				else
				{
					return (System.String)this[_parent.FriendsListColumn];
				}
			}
			set 
			{
				this[_parent.FriendsListColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field FriendsList is NULL, false otherwise.</summary>
		public bool IsFriendsListNull() 
		{
			return IsNull(_parent.FriendsListColumn);
		}

		/// <summary>Sets the TypedList field FriendsList to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetFriendsListNull() 
		{
			this[_parent.FriendsListColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field TeamID<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Team.TeamID</remarks>
		public System.Int32 TeamID 
		{
			get 
			{
				if(IsTeamIDNull())
				{
					// return default value for this type.
					return (System.Int32)TypeDefaultValue.GetDefaultValue(typeof(System.Int32));
				}
				else
				{
					return (System.Int32)this[_parent.TeamIDColumn];
				}
			}
			set 
			{
				this[_parent.TeamIDColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field TeamID is NULL, false otherwise.</summary>
		public bool IsTeamIDNull() 
		{
			return IsNull(_parent.TeamIDColumn);
		}

		/// <summary>Sets the TypedList field TeamID to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetTeamIDNull() 
		{
			this[_parent.TeamIDColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field LeagueID<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Team.LeagueID</remarks>
		public System.Int32 LeagueID 
		{
			get 
			{
				if(IsLeagueIDNull())
				{
					// return default value for this type.
					return (System.Int32)TypeDefaultValue.GetDefaultValue(typeof(System.Int32));
				}
				else
				{
					return (System.Int32)this[_parent.LeagueIDColumn];
				}
			}
			set 
			{
				this[_parent.LeagueIDColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field LeagueID is NULL, false otherwise.</summary>
		public bool IsLeagueIDNull() 
		{
			return IsNull(_parent.LeagueIDColumn);
		}

		/// <summary>Sets the TypedList field LeagueID to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetLeagueIDNull() 
		{
			this[_parent.LeagueIDColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field TeamName<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Team.TeamName</remarks>
		public System.String TeamName 
		{
			get 
			{
				if(IsTeamNameNull())
				{
					// return default value for this type.
					return (System.String)TypeDefaultValue.GetDefaultValue(typeof(System.String));
				}
				else
				{
					return (System.String)this[_parent.TeamNameColumn];
				}
			}
			set 
			{
				this[_parent.TeamNameColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field TeamName is NULL, false otherwise.</summary>
		public bool IsTeamNameNull() 
		{
			return IsNull(_parent.TeamNameColumn);
		}

		/// <summary>Sets the TypedList field TeamName to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetTeamNameNull() 
		{
			this[_parent.TeamNameColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field Paid<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Team.Paid</remarks>
		public System.Boolean Paid 
		{
			get 
			{
				if(IsPaidNull())
				{
					// return default value for this type.
					return (System.Boolean)TypeDefaultValue.GetDefaultValue(typeof(System.Boolean));
				}
				else
				{
					return (System.Boolean)this[_parent.PaidColumn];
				}
			}
			set 
			{
				this[_parent.PaidColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field Paid is NULL, false otherwise.</summary>
		public bool IsPaidNull() 
		{
			return IsNull(_parent.PaidColumn);
		}

		/// <summary>Sets the TypedList field Paid to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetPaidNull() 
		{
			this[_parent.PaidColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field PaidDate<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Team.PaidDate</remarks>
		public System.DateTime PaidDate 
		{
			get 
			{
				if(IsPaidDateNull())
				{
					// return default value for this type.
					return (System.DateTime)TypeDefaultValue.GetDefaultValue(typeof(System.DateTime));
				}
				else
				{
					return (System.DateTime)this[_parent.PaidDateColumn];
				}
			}
			set 
			{
				this[_parent.PaidDateColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field PaidDate is NULL, false otherwise.</summary>
		public bool IsPaidDateNull() 
		{
			return IsNull(_parent.PaidDateColumn);
		}

		/// <summary>Sets the TypedList field PaidDate to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetPaidDateNull() 
		{
			this[_parent.PaidDateColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field AmountPaid<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Team.AmountPaid</remarks>
		public System.Decimal AmountPaid 
		{
			get 
			{
				if(IsAmountPaidNull())
				{
					// return default value for this type.
					return (System.Decimal)TypeDefaultValue.GetDefaultValue(typeof(System.Decimal));
				}
				else
				{
					return (System.Decimal)this[_parent.AmountPaidColumn];
				}
			}
			set 
			{
				this[_parent.AmountPaidColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field AmountPaid is NULL, false otherwise.</summary>
		public bool IsAmountPaidNull() 
		{
			return IsNull(_parent.AmountPaidColumn);
		}

		/// <summary>Sets the TypedList field AmountPaid to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetAmountPaidNull() 
		{
			this[_parent.AmountPaidColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field Closed<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Team.Closed</remarks>
		public System.Boolean Closed 
		{
			get 
			{
				if(IsClosedNull())
				{
					// return default value for this type.
					return (System.Boolean)TypeDefaultValue.GetDefaultValue(typeof(System.Boolean));
				}
				else
				{
					return (System.Boolean)this[_parent.ClosedColumn];
				}
			}
			set 
			{
				this[_parent.ClosedColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field Closed is NULL, false otherwise.</summary>
		public bool IsClosedNull() 
		{
			return IsNull(_parent.ClosedColumn);
		}

		/// <summary>Sets the TypedList field Closed to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetClosedNull() 
		{
			this[_parent.ClosedColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field FirstName<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Player.FirstName</remarks>
		public System.String FirstName 
		{
			get 
			{
				if(IsFirstNameNull())
				{
					// return default value for this type.
					return (System.String)TypeDefaultValue.GetDefaultValue(typeof(System.String));
				}
				else
				{
					return (System.String)this[_parent.FirstNameColumn];
				}
			}
			set 
			{
				this[_parent.FirstNameColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field FirstName is NULL, false otherwise.</summary>
		public bool IsFirstNameNull() 
		{
			return IsNull(_parent.FirstNameColumn);
		}

		/// <summary>Sets the TypedList field FirstName to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetFirstNameNull() 
		{
			this[_parent.FirstNameColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field LastName<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Player.LastName</remarks>
		public System.String LastName 
		{
			get 
			{
				if(IsLastNameNull())
				{
					// return default value for this type.
					return (System.String)TypeDefaultValue.GetDefaultValue(typeof(System.String));
				}
				else
				{
					return (System.String)this[_parent.LastNameColumn];
				}
			}
			set 
			{
				this[_parent.LastNameColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field LastName is NULL, false otherwise.</summary>
		public bool IsLastNameNull() 
		{
			return IsNull(_parent.LastNameColumn);
		}

		/// <summary>Sets the TypedList field LastName to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetLastNameNull() 
		{
			this[_parent.LastNameColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field CsUserID<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Cs_Users.UserID</remarks>
		public System.Int32 CsUserID 
		{
			get 
			{
				if(IsCsUserIDNull())
				{
					// return default value for this type.
					return (System.Int32)TypeDefaultValue.GetDefaultValue(typeof(System.Int32));
				}
				else
				{
					return (System.Int32)this[_parent.CsUserIDColumn];
				}
			}
			set 
			{
				this[_parent.CsUserIDColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field CsUserID is NULL, false otherwise.</summary>
		public bool IsCsUserIDNull() 
		{
			return IsNull(_parent.CsUserIDColumn);
		}

		/// <summary>Sets the TypedList field CsUserID to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetCsUserIDNull() 
		{
			this[_parent.CsUserIDColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field Grouping<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Team.Grouping</remarks>
		public System.String Grouping 
		{
			get 
			{
				if(IsGroupingNull())
				{
					// return default value for this type.
					return (System.String)TypeDefaultValue.GetDefaultValue(typeof(System.String));
				}
				else
				{
					return (System.String)this[_parent.GroupingColumn];
				}
			}
			set 
			{
				this[_parent.GroupingColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field Grouping is NULL, false otherwise.</summary>
		public bool IsGroupingNull() 
		{
			return IsNull(_parent.GroupingColumn);
		}

		/// <summary>Sets the TypedList field Grouping to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetGroupingNull() 
		{
			this[_parent.GroupingColumn] = System.Convert.DBNull;
		}

	
		#endregion

		#region Custom Typed List Row Code
		
		// __LLBLGENPRO_USER_CODE_REGION_START CustomTypedListRowCode
		// __LLBLGENPRO_USER_CODE_REGION_END
		#endregion
	}
}
